-- Network Working Group                                           C. Brown
-- Request for Comments: 1315                Wellfleet Communications, Inc.
--                                                                 F. Baker
--                                         Advanced Computer Communications
--                                                              C. Carvalho
--                                         Advanced Computer Communications
--                                                               April 1992
-- 
-- 
--             Management Information Base for Frame Relay DTEs
-- 

RFC1315-MIB DEFINITIONS ::= BEGIN

     IMPORTS
             OBJECT-TYPE
                     FROM RFC-1212
             transmission
                     FROM RFC1213-MIB
             TimeTicks
                     FROM RFC-1155
             TRAP-TYPE
                     FROM RFC-1215;

     --  Frame Relay DTE MIB

     frame-relay     OBJECT IDENTIFIER ::= { transmission 32 }

     --
     --      the range of ifIndex
     --
     Index ::= INTEGER       -- 1..ifNumber

     --
     --      the range of a Data Link Connection Identifier
     --
     DLCI ::= INTEGER        -- 0..DLCINumber

     --  Data Link Connection Management Interface

     --      The variables that configure the DLC Management Interface.

     frDlcmiTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF FrDlcmiEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The Parameters for the Data Link Connection Management
            Interface for the frame relay service on this
            interface."
         REFERENCE


            "Draft American National Standard T1.617-1991, Annex D"
         ::= { frame-relay 1 }

         frDlcmiEntry OBJECT-TYPE
             SYNTAX   FrDlcmiEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The Parameters for a particular Data Link Con-
                nection Management Interface."
            INDEX { frDlcmiIfIndex }
            ::= { frDlcmiTable 1 }

         FrDlcmiEntry ::=
             SEQUENCE {
                 frDlcmiIfIndex
                     Index,
                 frDlcmiState
                     INTEGER,
                 frDlcmiAddress
                     INTEGER,
                 frDlcmiAddressLen
                     INTEGER,
                 frDlcmiPollingInterval
                     INTEGER,
                 frDlcmiFullEnquiryInterval
                     INTEGER,
                 frDlcmiErrorThreshold
                     INTEGER,
                 frDlcmiMonitoredEvents
                     INTEGER,
                 frDlcmiMaxSupportedVCs
                     INTEGER,
                 frDlcmiMulticast
                     INTEGER
         }

         frDlcmiIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex value of the  corresponding  ifEn-
                try."
            ::= { frDlcmiEntry 1 }


         frDlcmiState OBJECT-TYPE
             SYNTAX INTEGER {
                 noLmiConfigured (1),
                 lmiRev1         (2),
                 ansiT1-617-D    (3),  -- ANSI T1.617 Annex D
                 ansiT1-617-B    (4)   -- ANSI T1.617 Annex B
             }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This variable states which Data  Link  Connec-
                tion Management scheme is active (and by impli-
                cation, what DLCI it uses) on the  Frame  Relay
                interface."
            REFERENCE
               "Draft American National Standard T1.617-1991"
           ::= { frDlcmiEntry 2 }

         frDlcmiAddress OBJECT-TYPE
             SYNTAX      INTEGER {
                         q921           (1),  -- 13 bit DLCI
                         q922March90    (2),  -- 11 bit DLCI
                         q922November90 (3),  -- 10 bit DLCI
                         q922           (4)   -- Final Standard
             }
             ACCESS  read-write
             STATUS  mandatory
             DESCRIPTION
                "This variable states which address  format  is
                in use on the Frame Relay interface."
            ::= { frDlcmiEntry 3 }

         frDlcmiAddressLen OBJECT-TYPE
             SYNTAX  INTEGER {
                     two-octets (2),
                     three-octets (3),
                     four-octets (4)
             }
             ACCESS  read-write
             STATUS  mandatory
             DESCRIPTION
                "This variable states which address  length  in
                octets.  In the case of Q922 format, the length
                indicates the entire length of the address  in-
                cluding the control portion."


            ::= { frDlcmiEntry 4 }

         frDlcmiPollingInterval OBJECT-TYPE
             SYNTAX   INTEGER (5..30)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This is the number of seconds between  succes-
                sive status enquiry messages."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.7 Timer T391."
           DEFVAL { 10 }
           ::= { frDlcmiEntry 5 }

         frDlcmiFullEnquiryInterval OBJECT-TYPE
             SYNTAX   INTEGER (1..255)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "Number of status enquiry intervals  that  pass
                before  issuance  of a full status enquiry mes-
                sage."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.7 Counter N391."
           DEFVAL { 6 }
           ::= { frDlcmiEntry 6 }

         frDlcmiErrorThreshold OBJECT-TYPE
             SYNTAX   INTEGER (1..10)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This  is  the  maximum  number  of  unanswered
                Status Enquiries the equipment shall accept be-
                fore declaring the interface down."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.5.1 Counter N392."
           DEFVAL { 3 }
           ::= { frDlcmiEntry 7 }


         frDlcmiMonitoredEvents OBJECT-TYPE
             SYNTAX   INTEGER (1..10)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This is the number of status polling intervals
                over which the error threshold is counted.  For
                example, if within 'MonitoredEvents' number  of
                events  the  station  receives 'ErrorThreshold'
                number of errors, the interface  is  marked  as
                down."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.5.2 Counter N393."
           DEFVAL { 4 }
           ::= { frDlcmiEntry 8 }

         frDlcmiMaxSupportedVCs OBJECT-TYPE
             SYNTAX   INTEGER
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "The maximum number of Virtual Circuits allowed
                for  this  interface.   Usually dictated by the
                Frame Relay network.

                In response to a SET, if a value less than zero
                or  higher  than the agent's maximal capability
                is configured, the agent  should  respond  bad-
                Value"
            ::= { frDlcmiEntry 9 }

         frDlcmiMulticast OBJECT-TYPE
             SYNTAX   INTEGER {
                         nonBroadcast (1),
                         broadcast (2)
                         }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This indicates whether the Frame Relay  inter-
                face is using a multicast service."
            ::= { frDlcmiEntry 10 }


     -- A Frame Relay service is a multiplexing service.  Data
     -- Link Connection Identifiers enumerate virtual circuits
     -- (permanent or dynamic) which are layered onto the underlying
     -- circuit, represented by ifEntry.  Therefore, each of the entries
     -- in the Standard MIB's Interface Table with an IfType of
     -- Frame Relay represents a Q.922 interface.  Zero or more
     -- virtual circuits are layered onto this interface and provide
     -- interconnection with various remote destinations.
     -- Each such virtual circuit is represented by an entry in the
     -- circuit table.

     --   Circuit Table

     -- The table describing the use of the DLCIs attached to
     -- each Frame Relay Interface.

     frCircuitTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF FrCircuitEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table containing information about specific Data
            Link Connection Identifiers and corresponding virtual
            circuits."
         ::= { frame-relay 2 }

         frCircuitEntry OBJECT-TYPE
             SYNTAX   FrCircuitEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The information regarding a single  Data  Link
                Connection Identifier."
            INDEX { frCircuitIfIndex, frCircuitDlci }
            ::= { frCircuitTable 1 }

         FrCircuitEntry ::=
             SEQUENCE {
                 frCircuitIfIndex
                     Index,
                 frCircuitDlci
                     DLCI,
                 frCircuitState
                     INTEGER,
                 frCircuitReceivedFECNs
                     Counter,
                 frCircuitReceivedBECNs


                     Counter,
                 frCircuitSentFrames
                     Counter,
                 frCircuitSentOctets
                     Counter,
                 frCircuitReceivedFrames
                     Counter,
                 frCircuitReceivedOctets
                     Counter,
                 frCircuitCreationTime
                     TimeTicks,
                 frCircuitLastTimeChange
                     TimeTicks,
                 frCircuitCommittedBurst
                     INTEGER,
                 frCircuitExcessBurst
                     INTEGER,
                 frCircuitThroughput
                     INTEGER
         }

         frCircuitIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex Value of the ifEntry this  virtual
                circuit is layered onto."
            ::= { frCircuitEntry 1 }

         frCircuitDlci OBJECT-TYPE
             SYNTAX   DLCI
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The Data Link Connection Identifier  for  this
                virtual circuit."
            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.6"
           ::= { frCircuitEntry 2 }


         frCircuitState OBJECT-TYPE
             SYNTAX   INTEGER {
                         invalid (1),
                         active (2),
                         inactive (3)
                      }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "Indicates whether the particular virtual  cir-
                cuit  is operational.  In the absence of a Data
                Link Connection Management  Interface,  virtual
                circuit  entries  (rows) may be created by set-
                ting virtual  circuit  state  to  'active',  or
                deleted by changing Circuit state to 'invalid'.
                Whether or not the row actually  disappears  is
                left  to the implementation, so this object may
                actually read as 'invalid' for  some  arbitrary
                length  of  time.   It is also legal to set the
                state of a virtual  circuit  to  'inactive'  to
                temporarily disable a given circuit."
            DEFVAL { active }
            ::= { frCircuitEntry 3 }

         frCircuitReceivedFECNs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received from the network in-
                dicating  forward  congestion since the virtual
                circuit was created."
            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.3"
           ::= { frCircuitEntry 4 }

         frCircuitReceivedBECNs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received from the network in-
                dicating  backward congestion since the virtual
                circuit was created."


            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.4"
           ::= { frCircuitEntry 5 }

         frCircuitSentFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The number of frames sent  from  this  virtual
                circuit since it was created."
            ::= { frCircuitEntry 6 }

         frCircuitSentOctets OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The number of octets sent  from  this  virtual
                circuit since it was created."
            ::= { frCircuitEntry 7 }

         frCircuitReceivedFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received  over  this  virtual
                circuit since it was created."
            ::= { frCircuitEntry 8 }

         frCircuitReceivedOctets OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of octets received  over  this  virtual
                circuit since it was created."
            ::= { frCircuitEntry 9 }


         frCircuitCreationTime OBJECT-TYPE
             SYNTAX   TimeTicks
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The value of sysUpTime when the  virtual  cir-
                cuit was created, whether by the Data Link Con-
                nection Management Interface  or  by  a  SetRe-
                quest."
            ::= { frCircuitEntry 10 }

         frCircuitLastTimeChange OBJECT-TYPE
             SYNTAX   TimeTicks
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The value of sysUpTime when last there  was  a
                change in the virtual circuit state"
            ::= { frCircuitEntry 11 }

         frCircuitCommittedBurst OBJECT-TYPE
             SYNTAX   INTEGER
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This variable indicates the maximum amount  of
                data,  in  bits,  that  the  network  agrees to
                transfer under normal  conditions,  during  the
                measurement interval."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section 6.5.19"
           DEFVAL   { 0 }  -- the default indicates no commitment
           ::= { frCircuitEntry 12 }

         frCircuitExcessBurst OBJECT-TYPE
             SYNTAX   INTEGER
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This variable indicates the maximum amount  of
                uncommitted data bits that the network will at-


                tempt to deliver over the measurement interval.

                By default, if not configured when creating the
                entry, the Excess Information Burst Size is set
                to the value of ifSpeed."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section 6.5.19"
                   ::= { frCircuitEntry 13 }

         frCircuitThroughput OBJECT-TYPE
             SYNTAX   INTEGER
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "Throughput is the average number of 'Frame Re-
                lay  Information  Field'  bits  transferred per
                second across a user network interface  in  one
                direction, measured over the measurement inter-
                val.

                If the  configured  committed  burst  rate  and
                throughput  are  both non-zero, the measurement
                interval
                T=frCircuitCommittedBurst/frCircuitThroughput.

                If the  configured  committed  burst  rate  and
                throughput  are  both zero, the measurement in-
                terval
                       T=frCircuitExcessBurst/ifSpeed."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section 6.5.19"
           DEFVAL {0}  -- the default value of Throughput is
                       -- "no commitment".
           ::= { frCircuitEntry 14 }

     --  Error Table

     -- The table describing errors encountered on each Frame
     -- Relay Interface.

     frErrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF FrErrEntry
         ACCESS   not-accessible


         STATUS   mandatory
         DESCRIPTION
            "A table containing information about Errors on the
            Frame Relay interface."
         ::= { frame-relay 3 }

         frErrEntry OBJECT-TYPE
             SYNTAX   FrErrEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The error information for a single frame relay
                interface."
            INDEX { frErrIfIndex }
            ::= { frErrTable 1 }

         FrErrEntry ::=
             SEQUENCE {
                 frErrIfIndex
                     Index,
                 frErrType
                     INTEGER,
                 frErrData
                     OCTET STRING,
                 frErrTime
                     TimeTicks
         }

         frErrIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex Value of the  corresponding  ifEn-
                try."
            ::= { frErrEntry 1 }

         frErrType OBJECT-TYPE
             SYNTAX   INTEGER {
                         unknownError(1),
                         receiveShort(2),
                         receiveLong(3),


                         illegalDLCI(4),
                         unknownDLCI(5),
                         dlcmiProtoErr(6),
                         dlcmiUnknownIE(7),
                         dlcmiSequenceErr(8),
                         dlcmiUnknownRpt(9),
                         noErrorSinceReset(10)
                      }
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The type of error that was last seen  on  this
                interface."
            ::= { frErrEntry 2 }

         frErrData OBJECT-TYPE
             SYNTAX   OCTET STRING
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "An octet string containing as much of the  er-
                ror  packet as possible.  As a minimum, it must
                contain the Q.922 Address or  as  much  as  was
                delivered.   It is desirable to include all in-
                formation up to the PDU."
            ::= { frErrEntry 3 }

         frErrTime OBJECT-TYPE
             SYNTAX   TimeTicks
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The value of sysUpTime at which the error  was
                detected."
            ::= { frErrEntry 4 }

         -- Frame Relay Globals

         frame-relay-globals OBJECT IDENTIFIER ::= { frame-relay 4 }

         frTrapState OBJECT-TYPE
             SYNTAX  INTEGER { enabled(1), disabled(2) }
             ACCESS   read-write


             STATUS   mandatory
             DESCRIPTION
                "This variable  indicates  whether  the  system
                produces the frDLCIStatusChange trap."
            DEFVAL { disabled }
            ::= { frame-relay-globals 1 }

         --  Data Link Connection Management Interface Related Traps

         frDLCIStatusChange TRAP-TYPE
             ENTERPRISE frame-relay
             VARIABLES  { frCircuitIfIndex, frCircuitDlci, frCircuitState }
             DESCRIPTION
                "This trap indicates that the indicated Virtual
                Circuit  has changed state.  It has either been
                created or invalidated, or has toggled  between
                the active and inactive states."
             ::= 1

END